package com.byapp.fast.modules.order.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

@NoArgsConstructor
@Data
@ApiModel
public class OrderDataDTO {

    /* 过关方式 单关：1001 */
    @NotEmpty(message = "过关方式不能为空")
    @JsonProperty(value = "s_type")
    private String serialType;

    /* 彩种ID 701：足球 */
    @NotEmpty(message = "彩种ID不能为空")
    @JsonProperty(value = "lot_id")
    private String lotId;

    /* 总金额 */
    @NotNull(message = "总金额不能为空")
    @Min(message = "总金额必须大于0", value = 1)
    @JsonProperty(value = "total_money")
    private Double totalMoney;

    /* 支付类型 */
    @NotNull(message = "支付类型不能为空")
    @JsonProperty(value = "pay_type")
    private String payType;

    /* 回调类型 */
    @NotNull(message = "回调类型不能为空")
    @JsonProperty(value = "call_type")
    private String callType;

    /* 回调地址 */
    @NotNull(message = "回调地址不能为空")
    @JsonProperty(value = "call_back")
    private String callBack;

    /* 购买渠道 */
    @NotNull(message = "购买渠道不能为空")
    @JsonProperty(value = "channel_no")
    private String buyChannel;

    /* 竞猜项详情 */
    @JsonProperty(value = "item")
    private List<OrderItemDTO> itemsList;

    /* 来源编码 web/eth */
    @JsonProperty(value = "src_code", defaultValue = "web")
    private String srcCode;
}
